什么是 DDoS 攻擊?
# | 層 | 應用 | 描述 | 向量示例 |
7 | 應用 | 數據 | 網絡層發展至應用層 | HTTP 泛洪,DNS 查詢洪泛 |
6 | 表示 | 數據 | 數據表示和加密 | SSL 濫用 |
5 | 會話 | 數據 | 主機間通信 | 不適用 |
4 | 運輸 | 行業 | 端到端連接和可靠性 | SYN 泛洪 |
3 | 網絡 | 數據包 | 路徑確定和邏輯尋址 | UDP 反射攻擊 |
2 | 數據鏈路 | 幀 | 物理尋址 | 不適用 |
1 | 物理 | 位 | 媒體、信號和二進制傳輸 | 不適用 |
DDoS 攻擊分類
在考慮抵御這些攻擊的緩解技術時,將攻擊分為基礎設施層(第 3 層和第 4 層)和應用層(第 6 層和第 7 層)非常有用。
基礎設施層攻擊
第 3 層和第 4 層的攻擊通常歸類為基礎設施層攻擊。這些也是最常見的 DDoS 攻擊類型,包括同步 (SYN) 泛洪攻擊和其他反射攻擊(如用戶數據報數據包 (UDP) 泛洪)等向量。這些攻擊通常數量較大,旨在使網絡或應用程序服務器的容量過載。但幸運的是,這些也是具有清晰標識且更易于檢測的攻擊類型。
應用層攻擊
第 6 層和第 7 層攻擊通常被歸類為應用層攻擊。雖然這些攻擊不太常見,但它們也往往更加復雜。與基礎設施層攻擊相比,這些攻擊的數量通常較小,但往往側重于應用程序的特定昂貴部分,從而使真實用戶無法使用應用程序。例如,登錄頁的大量 HTTP 請求、昂貴的搜索 API,甚至 WordPress XML-RPC 泛洪(也稱為 WordPress pingback 攻擊)。
DDoS 防護技術
減少攻擊表面積
緩解 DDoS 攻擊的第一種技術之一是將可能受到攻擊的表面積降至最低,從而限制攻擊者的選擇,并允許您在單個位置構建保護。我們希望確保我們不會將我們的應用程序或資源暴露給端口、協議或應用程序,而這些端口、協議或應用程序不會進行任何通信。因此,盡量減少可能的攻擊點,讓我們集中精力執行攻擊緩解工作。在某些情況下,為了實現此目的,您可以將計算資源放置在內容分發網絡 (CDN) 或負載均衡器之后,并將 Internet 直接流量限制在基礎設施的某些部分,如數據庫服務器。在其他情況下,您可以使用防火墻或訪問控制列表 (ACL) 來控制到達應用程序的流量。
計劃擴展
緩解大容量 DDoS 攻擊的兩個主要考慮因素是帶寬(或傳輸)容量和服務器容量,以吸收和緩解攻擊。
傳輸容量。構建應用程序時,請確保您的托管提供商提供充足的冗余 Internet 連接,使您能夠處理大量流量。由于 DDoS 攻擊的最終目標是影響您的資源/應用程序的可用性,因此您應該將它們置于靠近您的最終用戶和大型 Internet 交換臺的位置,這樣即使在大量流量的情況下,您的用戶也可以輕松訪問您的應用程序。此外,Web 應用程序還可以進一步利用內容分發網絡 (CDN) 和智能 DNS 解析服務,這些服務提供了一層額外的網絡基礎設施,用于從通常靠近最終用戶的位置提供內容和解析 DNS 查詢。
服務器容量。 大多數 DDoS 攻擊都是容量攻擊,占用大量資源;因此,您可以快速向上或向下擴展計算資源,這一點非常重要。要實現此目的,您可以在較大的計算資源上運行,也可以通過具有更多支持較大容量的廣泛網絡接口或增強網絡等功能的資源。此外,使用負載均衡器持續監控和轉移資源之間的負載也很常見,以防止任何一個資源過載。
了解什么是正常和異常流量
每當我們檢測到流量水平升高而影響到主機時,最基本的基線是只能接受主機可以處理的最大流量,而不會影響可用性。此概念稱為速率限制。更高級的保護技術可以更進一步,并且只能通過分析單個數據包本身智能地接受合法的通信。為此,您需要了解目標通常接收的良好流量的特征,并能夠將每個數據包與此基線進行比較。
為復雜的應用程序攻擊部署防火墻
最佳做法是使用 Web 應用程序防火墻 (WAF) 來抵御試圖利用應用程序本身中的漏洞的攻擊,如 SQL 注入或跨站點請求偽造。此外,由于這些攻擊的獨特性,您應該能夠輕松創建針對非法請求的自定義緩解措施,這些請求可能具有偽裝成良好流量或來自壞 IP、意外地理位置等特征。有時,它還有助于緩解攻擊,因為它們可能會獲得經驗支持,以研究流量模式并創建自定義保護。